This only used by luck before. We are changing a property from the
::notify handler for that property. Now that GtkRevealer is notifying
the property when it stops animations on unmap, we end up in a life
lock situation where we never make it out of the notify queue.
Fix this by not restarting the animation if the widget is unmapped.
static void
change_direction (GtkRevealer *revealer)
{
- gboolean revealed;
+ if (gtk_widget_get_mapped (GTK_WIDGET (revealer)))
+ {
+ gboolean revealed;
- revealed = gtk_revealer_get_child_revealed (revealer);
- gtk_revealer_set_reveal_child (revealer, !revealed);
+ revealed = gtk_revealer_get_child_revealed (revealer);
+ gtk_revealer_set_reveal_child (revealer, !revealed);
+ }
}
static gboolean